package 牛客算法篇;

/**
 * Created with IntelliJ IEDA.
 * Description:
 * User:86186
 * Date:2024-02-28
 * Time:15:06
 */

/**
 *
 牛客算法篇:NC57 反转数字
 描述
 给定一个32位的有符号整数num，将num中的数字部分反转，最后返回反转的结果
 1.只反转数字部分，符号位部分不反转
 2.反转后整数num超过 32 位的有符号整数的范围 [−231,  231 − 1] ，返回 0
 3.假设本题不允许存储 64 位整数(有符号或无符号，即C++不能使用long long ，Java不能使用long等)
 数据范围:
 -231 <= x <= 231-1
 示例1
 输入：
 12
 返回值：
 21
 */
public class reverse {
    public static void main(String[] args) {
        reverse(21);
    }
    public static int reverse (int x) {
        // write code here
        long sum = 0;
        while(x != 0){
            sum = sum * 10 + x % 10;
            x /= 10;
        }
        if(sum<Integer.MIN_VALUE||sum>Integer.MAX_VALUE){
            sum = 0;
        }
        return (int)sum;
    }
}
